/* Copyright (c) 2025 Beijing Semidrive Technology Corporation
 * SPDX-License-Identifier: Apache-2.0
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/** *****************************************************************************************************
 *  \file     Dma_Fault.h                                                                               *
 *  \brief    This file contains interface header for DMA Fault injection.                              *
 *                                                                                                      *
 * <table>                                                                                              *
 * <tr><th>Date           <th>Version                                                                   *
 * <tr><td>2023/08/15     <td>1.0.0                                                                     *
 * </table>                                                                                             *
 *******************************************************************************************************/

#ifndef DMA_FAULT_H
#define DMA_FAULT_H

#ifdef __cplusplus
extern "C" {
#endif
/********************************************************************************************************
 *                                 Global Macro definition                                              *
 *******************************************************************************************************/
/** \brief  DMA fault injection switch */

#if !defined(DMA_FAULT_INJECTION)
/** \brief  FUNCTION:Dma_Init() fault injection. */
#define DmaHookBegin_Dma_Init()
#define DmaHookEnd_Dma_Init()
/** \brief  FUNCTION:Dma_RequestChannelWithId() fault injection. */
#define DmaHookBegin_Dma_RequestChannelWithIdt()
#define DmaHookEnd_Dma_RequestChannelWithId()
/** \brief  FUNCTION:Dma_ReleaseChannel() fault injection. */
#define DmaHookBegin_Dma_ReleaseChannel()
#define DmaHookEnd_Dma_ReleaseChannel()
/** \brief  FUNCTION:Dma_ConfigChannel() fault injection. */
#define DmaHookBegin_Dma_ConfigChannel()
#define DmaHookEnd_Dma_ConfigChannel()
/** \brief  FUNCTION:Dma_PrepareTransmission() fault injection. */
#define DmaHookBegin_Dma_PrepareTransmission()
#define DmaHookEnd_Dma_PrepareTransmission()
/** \brief  FUNCTION:Dma_UpdateTransmitAddressAndLength() fault injection. */
#define DmaHookBegin_Dma_UpdateTransmitAddressAndLength()
#define DmaHookEnd_Dma_UpdateTransmitAddressAndLength()
/** \brief  FUNCTION:Dma_Start() fault injection. */
#define DmaHookBegin_Dma_Start()
#define DmaHookEnd_Dma_Start()
/** \brief  FUNCTION:Dma_Stop() fault injection. */
#define DmaHookBegin_Dma_Stop()
#define DmaHookEnd_Dma_Stop()
/** \brief  FUNCTION:Dma_GetChannelStatus() fault injection. */
#define DmaHookBegin_Dma_GetChannelStatus()
#define DmaHookEnd_Dma_GetChannelStatus()
/** \brief  FUNCTION:Dma_GetXferBytes() fault injection. */
#define DmaHookBegin_Dma_GetXferBytes()
#define DmaHookEnd_Dma_GetXferBytes()
/** \brief  FUNCTION:Dma_GetChannelLinkBufferSize() fault injection. */
#define DmaHookBegin_Dma_GetChannelLinkBufferSize()
#define DmaHookEnd_Dma_GetChannelLinkBufferSize()
/** \brief  FUNCTION:Dma_GetConfigParams() fault injection. */
#define DmaHookBegin_Dma_GetConfigParams()
#define DmaHookEnd_Dma_GetConfigParams()
/** \brief  FUNCTION:Dma_ConfigurationCheck() fault injection. */
#define DmaHookBegin_Dma_ConfigurationCheck()
#define DmaHookEnd_Dma_ConfigurationCheck()
/** \brief  FUNCTION:Dma_InitConfigChannel() fault injection. */
#define DmaHookBegin_Dma_InitConfigChannel()
#define DmaHookEnd_Dma_InitConfigChannel()
/** \brief  FUNCTION:Dma_UpdateCyclicCRC() fault injection. */
#define DmaHookBegin_Dma_UpdateCyclicCRC()
#define DmaHookEnd_Dma_UpdateCyclicCRC()
/** \brief  FUNCTION:Dma_CheckAddressAndChannelValid() fault injection. */
#define DmaHookBegin_Dma_CheckAddressAndChannelValid()
#define DmaHookEnd_Dma_CheckAddressAndChannelValid()
/** \brief  FUNCTION:Dma_CheckRequestChannelValid() fault injection. */
#define DmaHookBegin_Dma_CheckRequestChannelValid()
#define DmaHookEnd_Dma_CheckRequestChannelValid()
/** \brief  FUNCTION:Dma_GetAdcModuleConfigParams() fault injection. */
#define DmaHookBegin_Dma_GetAdcModuleConfigParams()
#define DmaHookEnd_Dma_GetAdcModuleConfigParams()
/** \brief  FUNCTION:Dma_GetM2MModuleConfigParams() fault injection. */
#define DmaHookBegin_Dma_GetM2MModuleConfigParams()
#define DmaHookEnd_Dma_GetM2MModuleConfigParams()
/** \brief  FUNCTION:Dma_GetIcuModuleConfigParams() fault injection. */
#define DmaHookBegin_Dma_GetIcuModuleConfigParams()
#define DmaHookEnd_Dma_GetIcuModuleConfigParams()
/** \brief  FUNCTION:Dma_GetPwmModuleConfigParams() fault injection. */
#define DmaHookBegin_Dma_GetPwmModuleConfigParams()
#define DmaHookEnd_Dma_GetPwmModuleConfigParams()
/** \brief  FUNCTION:Dma_GetSpiModuleConfigParams() fault injection. */
#define DmaHookBegin_Dma_GetSpiModuleConfigParams()
#define DmaHookEnd_Dma_GetSpiModuleConfigParams()
/** \brief  FUNCTION:Dma_GetxSpiModuleConfigParams() fault injection. */
#define DmaHookBegin_Dma_GetxSpiModuleConfigParams()
#define DmaHookEnd_Dma_GetxSpiModuleConfigParams()
/** \brief  FUNCTION:Dma_GetXtrgModuleConfigParams() fault injection. */
#define DmaHookBegin_Dma_GetXtrgModuleConfigParams()
#define DmaHookEnd_Dma_GetXtrgModuleConfigParams()
/** \brief  FUNCTION:Dma_GetUartModuleConfigParams() fault injection. */
#define DmaHookBegin_Dma_GetUartModuleConfigParams()
#define DmaHookEnd_Dma_GetUartModuleConfigParams()
/** \brief  FUNCTION:Dma_GetSentModuleConfigParams() fault injection. */
#define DmaHookBegin_Dma_GetSentModuleConfigParams()
#define DmaHookEnd_Dma_GetSentModuleConfigParams()
/** \brief  FUNCTION:Dma_GetEthModuleConfigParams() fault injection. */
#define DmaHookBegin_Dma_GetEthModuleConfigParams()
#define DmaHookEnd_Dma_GetEthModuleConfigParams()
/** \brief  FUNCTION:Dma_SetLockstepMode() fault injection. */
#define DmaHookBegin_Dma_SetLockstepMode()
#define DmaHookEnd_Dma_SetLockstepMode()
/** \brief  FUNCTION:Dma_GetChannelLinkBufferSize() fault injection. */
DmaHookBegin_Dma_GetChannelLinkBufferSize()
DmaHookEnd_Dma_GetChannelLinkBufferSize()
/** \brief  FUNCTION:Dma_GetChannelOpd2Address() fault injection. */
#define DmaHookBegin_Dma_GetChannelOpd2Address()
#define DmaHookEnd_Dma_GetChannelOpd2Address()
/** \brief  FUNCTION:Dma_SetChannelPatternMatchMask() fault injection. */
#define DmaHookBegin_Dma_SetChannelPatternMatchMask()
#define DmaHookEnd_Dma_SetChannelPatternMatchMask()
/** \brief  FUNCTION:Dma_HackConfig() fault injection. */
#define DmaHookBegin_Dma_HackConfig()
#define DmaHookEnd_Dma_HackConfig()
/** \brief  FUNCTION:Dma_GtimerConfig() fault injection. */
#define DmaHookBegin_Dma_GtimerConfig()
#define DmaHookEnd_Dma_GtimerConfig()
/** \brief  FUNCTION:Dma_GetChannelDataCrcResult() fault injection. */
#define DmaHookBegin_Dma_GetChannelDataCrcResult()
#define DmaHookEnd_Dma_GetChannelDataCrcResult()
/** \brief  FUNCTION:Dma_Ip_SF0IrqHandler() fault injection. */
#define DmaHookBegin_Dma_Ip_SFIrqHandler()
#define DmaHookEnd_Dma_Ip_SFIrqHandler()
#define DmaHookBusError_Dma_Ip_SFIrqHandler()
#define DmaHookCRCError_Dma_Ip_SFIrqHandler()
#define DmaHookSYSError_Dma_Ip_SFIrqHandler()
#define DmaHookAbortError_Dma_Ip_SFIrqHandler()
#define DmaHookRegisterError_Dma_Ip_SFIrqHandler()
/** \brief  FUNCTION:Dma_Ip_ChannelDisable() fault injection. */
#define DmaHookTimeout_Dma_Ip_ChannelDisable()
/** \brief  FUNCTION:Dma_Ip_SetChannelCmd() fault injection. */
#define DmaHookTimeout_Dma_Ip_SetChannelCmd()
/** \brief  FUNCTION:Dma_Ip_ToChannel() fault injection. */
#define DmaHook_Dma_Ip_ToChannel()
/** \brief  FUNCTION:Dma_Ip_Clz32() fault injection. */
#define DmaHook_Dma_Ip_Clz32()
/** \brief  FUNCTION:Dma_Ip_ConfigurationCheck() fault injection. */
#define DmaHook_Dma_Ip_ConfigurationCheck()
/** \brief  FUNCTION:Dma_Ip_SetChannelSoftwareHandshake() fault injection. */
#define DmaHook_Dma_Ip_SetChannelSoftwareHandshake()
#else
#include "Dma_UserFault.h"
#endif /* #if !defined(DMA_FAULT_INJECTION) */

#ifdef __cplusplus
}
#endif

#endif /* DMA_FAULT_H */
/* End of file */
